#ifndef _EXCEPTION_HPP_
#define _EXCEPTION_HPP_
namespace exception
{
  void         devide();
  void         debug();
  void         nmi();
  void         breakpoint();
  void         overflow();
  void         bounds();
  void         inval_op();
  void         nocoproc();
  void         double_fault();
  void         coproc_seg();
  void         inval_tss();
  void         seg_not();
  void         stack();
  void         protection();
  void         page();
  void         nothing();
  void         coproc_err();
  static int   size(){return 17;}
  static inline type::fptr handler(int index) {
    type::fptr handlers[]={devide,debug,nmi,breakpoint,overflow,bounds,inval_op,nocoproc,double_fault,coproc_seg,inval_tss,
                           seg_not,stack,protection,page,coproc_err}; 
    return handlers[index];
  }
}
#endif
